package com.easyapi.server.service.api;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.easyapi.common.param.api.ApiInfoPageParam;
import com.easyapi.common.param.api.ConfigSqlApiParam;
import com.easyapi.common.param.api.GenerateApiParam;
import com.easyapi.common.utils.BaseResponse;
import com.easyapi.common.vo.api.ApiInfoPageVo;
import com.easyapi.common.vo.api.ApiInfoVo;
import com.easyapi.common.vo.api.ApiMarketInfo;
import com.easyapi.dao.entity.api.ApiCenterInterfaceInfo;

/**
 * @author javadadi
 */

public interface ApiService extends IService<ApiCenterInterfaceInfo> {
    BaseResponse<Page<ApiMarketInfo>> getApiMarketInfo(ApiInfoPageParam param);

    BaseResponse<Page<ApiInfoPageVo>> pageApiInfo(ApiInfoPageParam param);

    BaseResponse<Boolean> generateInterface(GenerateApiParam param);

    BaseResponse<Boolean> configSqlInterface(ConfigSqlApiParam param);

    BaseResponse<ApiInfoVo> getInterfaceInfo(Long id);

    boolean apiOperation(Long id, String action);

    ApiCenterInterfaceInfo getByApiPath(String path);

    BaseResponse<Boolean> initInterfaceConfig();
}
